<?php
###############   COPYLEFT GPLv3 LICENSE   ###############
##
## JFX Version 0.2.7
## Website Management Software
## www.jfxcms.com
##
## Copyright 2009 GPLv3 - http://www.opensource.org/licenses/gpl-3.0.html
##
## Anthony Gallon
## oi_antz@hotmail.com
##
## Permission is hereby granted to any person having a copy of this software
## to freely use and modify as required so long as the copyright notices
## and branding remain intact.
##
## Full license details available at http://www.jfxcms.com/license
##
###############   COPYLEFT GPLv3 LICENSE   ###############

/**
 * Create a new checkbox object
 * @author Anthony Gallon
 * @package Antz
 */

/**
 * Create a new checkbox object
 * @author Anthony Gallon
 * @package Antz
 */

class JFX_Form_Components_Checkbox extends JFX_Form_Component
{
    /**
     * Set some initial values
     * @param string $name
     * @param string $label
     * @param string $value
     * @param bool $checked
     * @param string $aftertext
     */
    public function __construct($name, $label, $value, $checked=false, $aftertext=''){
        $this->name = $name;
        $this->value = $value;
        $this->label = $label;
        $this->checked = $checked;
        $id = 'checkbox'.rand();
        $this->setId($id);
        $this->isXhtml(false);
        $this->aftertext = $aftertext;
    }

    /**
     * Return the element as an HTML string
     * @global object $gCms
     * @return string $html
     */
    public function render(){
        $CONFIG = JFX::registry('config');
     	if($this->required) $required = '<span class="required"><img src="'.$CONFIG->baseUrl.'/jfx/images/required.gif" alt="Required" /></span>'.$this->aftertext;
    	else $required = '';
        $closeTag = $this->isXhtml() ? '/>' : '>';
        $checked = ($this->checked) ? 'checked' : '';
        return "\n    ".$required.'<input type="checkbox" name="'.$this->name.'" value="'.$this->value.'" '.$this->renderParameters().' id="'.$this->getId().'" '.$checked.$closeTag.'<label for="'.$this->getId().'">'.$this->label.''.$this->aftertext.'</label>';
    }
}
